package cn.fxzhang.leetcode.no02;

/**
 * 263. 丑数
 * 给你一个整数 n ，请你判断 n 是否为 丑数 。如果是，返回 true ；否则，返回 false 。
 * 丑数 就是只包含质因数 2、3 和/或 5 的正整数。
 * 输入：n = 6
 * 输出：true
 * 解释：6 = 2 × 3
 * 提示：
 * -2^31 <= n <= 2^31 - 1
 *
 * 类型：数值
 * 题解：数值计算
 * 时间复杂度：O(lg(n))
 * 空间复杂度：O(1)
 *
 * 提交记录(1/1)：
 * 执行用时: 1 ms, 击败了100.00%
 * 内存消耗: 35.5 MB, 击败了60.08%
 *
 * 【简单】通过次数80,960提交次数158,301
 * @author 张晓帆
 * @date 2021/4/10
 */
public class P0263_Ugly_Number {

    public boolean isUgly(int n) {
        if (n <= 0){
            return false;
        }
        while (n%2 == 0){
            n = n/2;
        }
        while (n%3 == 0){
            n = n/3;
        }
        while (n%5 == 0){
            n = n/5;
        }
        return n == 1;
    }
}
